home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 18 / CU Amiga Magazine's Super CD-ROM 18 (1997)(EMAP Images)(GB)[!][issue 1998-01].iso / CUCD / Programming / AmigaE / Src / OOmodules / oodoc / misc / todo
Encoding:
Text File  |  1996-11-02  |  3.5 KB  |  112 lines

  1. This text is just a short list of things that have to be done in the
  2. object oriented e project. As of this writing the ooep is only at the
  3. beginning, so a lot of things have to be done.
  4.  
  5.  
  6. 1. General
  7.  
  8.  
  9. creation of basic objects: stream. This object is needed for files,
  10. devices and a lot more objects.
  11.  
  12. The stream object represents any kind of data stream. Basically there are
  13. two streams: input and output. Input from file or keyboard is an example
  14. for input stream, output to the screen or to files for output stream.
  15.  
  16. The opposite of stream is a record based handling of e.g. files.
  17.  
  18.  
  19. documentation of the modules. *I* know how to use them since I wrote
  20. most of them. Trey may recognize what I have done but someone else may
  21. not. Up to now I don't know what you think of the objects, please tell
  22. me.
  23.  
  24. As you may see when you take a look at the sources I chose the autodoc way
  25. of documenting things. Though the autodocs are nice when you want to know
  26. what a single function does it has one great disadvantage: it doesn't show
  27. which procs work with each other. There have to be guides to show this.
  28.  
  29.  
  30. implement other objects as listed in The Plan. The Plan can be found in
  31. emodules:oomodules/oodco/OOEProject.
  32.  
  33. Increase communication :)  The list has almost no traffic at all, let's
  34. change this. If is keeps to be so quiet I'll prepare the package to post it
  35. to aminet.
  36.  
  37. Notify the e mailing list. When we're working and both lists are running
  38. we should try to involve more people.
  39.  
  40.  
  41. 2. Objects
  42.  
  43. 2.1 General
  44.  
  45. Modify the resource tracking system to work with the Explorer. Only the
  46. Resource Master needs some simple modifications.
  47.  
  48.  
  49. 2.2 Application object
  50.  
  51. This object basically does what MUI does. It builds a commodity with an arexx
  52. port and opens the application catalog(s) and libraries. An optional GUI is
  53. created and handled.
  54.  
  55. The commodity creation uses the commodity object (if it exists). The GUI
  56. is a list for MUI, BGUI, EasyGUI or a pointer to a proc provided by the
  57. programmer. This is also the case for opening/closing/handling the gui.
  58.  
  59.  
  60. 2.3 Database objects
  61.  
  62. - Support external record headers
  63.  
  64.   Build datafile of names of files that contain record headers. The record
  65.   headers look like those in standard data files and can be parsed by the
  66.   same methods.
  67.  
  68.  
  69. 2.4 Reference object
  70.  
  71. When the reference object is used a global instance is needed. It should be
  72. initialized by the application object.
  73.  
  74.  
  75.  
  76. Exceptions
  77. ----------
  78.  
  79. Work out and implement an exeption scheme.
  80.  
  81. Libraries: Raise "LIB",text on failure
  82. Devices:   Raise "dev", ""
  83. GUI:
  84.   guis - screens
  85.   guiw - windows
  86.   guif - fonts
  87.   guir - requesters
  88.  
  89.  
  90. Exception handling:
  91.  
  92. The application should display a message that tells the user what went wrong.
  93. This can be done using requesters and/or status lines. The proc that
  94. handles the display could be implemented in the application.m or in an extra
  95. exception.m. Exception.m could have a compiler switch to minimize the code,
  96. e.g. simple text messages for a small shell-based program and requesters for
  97. gui-based applications.
  98.  
  99. After displaying the application should
  100.  
  101. a) use a work-around to solve the problem, e.g. use a smaller font if the gui
  102. couldn't be opened with the large font.
  103.  
  104. b) continue its work at the position before the function was called that
  105. caused the exception with the old status - no data should be lost.
  106.  
  107. Gui-based apps should have an exception handler at their handle-idcmp()
  108. proc to catch any Rethrow()'ed exceptions. It would exit nicely to the next
  109. Wait(). That would be the case for the application object to create (see the
  110. corresponding chapter for the application object).
  111.  
  112.